#define  INFILE   "c:\\image\\in.128"
#define  OUTFILE  "c:\\image\\out.128"
#define  IMSIZE   128

void ** ImAlloc (int,int,int);
void ImFree (void **, int);
void GetImage (int, char[], BYTE **);
void ProcessImage (int, BYTE **, BYTE **);
void ShowImage (int, BYTE **);
void PutImage (int, char[], BYTE **);

/************************  MAIN  *****************************/
void main (void)
{
   BYTE ** InIm;
   BYTE ** OutIm;

   InIm  = ImAlloc (IMSIZE, IMSIZE, sizeof(BYTE));
   OutIm = ImAlloc (IMSIZE, IMSIZE, sizeof(BYTE));

   GetImage     (IMSIZE, INFILE, InIm);
   ProcessImage (IMSIZE, InIm, OutIm);
   ShowImage    (IMSIZE, OutIm);
   PutImage     (IMSIZE, OUTFILE, OutIm);

   ImFree (InIm,  IMSIZE);
   ImFree (OutIm, IMSIZE);
}

/********************** ProcessImage **************************/
void ProcessImage (ImSize, InIm, OutIm)
int  ImSize;
BYTE ** InIm;
BYTE ** OutIm;
{
   int   r,c;

   for (r=0; r<ImSize; r++)
      for (c=0; c<ImSize; c++)
         OutIm [r][c] = 0;

   for (r=0; r<ImSize; r++)
      for  (c=0; c<ImSize; c++)
         OutIm [r][c] = InIm [r][c] / 2;
}
08:59

